package provatable;

import java.io.Serializable;
import javax.persistence.*;
import java.util.List;


/**
 * The persistent class for the TIPOLOGIA_EVENTO database table.
 * 
 */
@Entity
@Table(name="TIPOLOGIA_EVENTO")
@NamedQuery(name="TipologiaEvento.findAll", query="SELECT t FROM TipologiaEvento t")
public class TipologiaEvento implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	private long oid;

	private String descrizione;

	private String nome;

	//bi-directional many-to-one association to Evento
	@OneToMany(mappedBy="tipologiaEvento")
	private List<Evento> eventos;

	//bi-directional many-to-many association to Gruppo
	@ManyToMany(mappedBy="tipologiaEventos")
	private List<Gruppo> gruppos;

	public TipologiaEvento() {
	}

	public long getOid() {
		return this.oid;
	}

	public void setOid(long oid) {
		this.oid = oid;
	}

	public String getDescrizione() {
		return this.descrizione;
	}

	public void setDescrizione(String descrizione) {
		this.descrizione = descrizione;
	}

	public String getNome() {
		return this.nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public List<Evento> getEventos() {
		return this.eventos;
	}

	public void setEventos(List<Evento> eventos) {
		this.eventos = eventos;
	}

	public Evento addEvento(Evento evento) {
		getEventos().add(evento);
		evento.setTipologiaEvento(this);

		return evento;
	}

	public Evento removeEvento(Evento evento) {
		getEventos().remove(evento);
		evento.setTipologiaEvento(null);

		return evento;
	}

	public List<Gruppo> getGruppos() {
		return this.gruppos;
	}

	public void setGruppos(List<Gruppo> gruppos) {
		this.gruppos = gruppos;
	}

}